# int类型的细节
# 在python中，int可以表示很大的数
# python中 ** 表示次方 9 ** 2 表示9的二次方
# 注意 python中的整形是有一定范围的，如果超过一定返回就会报错
import sys

n0 = 9 ** 2
print("n0 = ", n0, type(n0))

# python的整数也有十进制，十六进制，二进制，八进制
# 十六进制 前缀为 0x
print("10的16进制表示：", 0x10)
# 八进制 前缀为 0o
print("10的8进制表示：", 0o10)
# 二进制 前缀为 0b
print("10的2进制表示：", 0b10)
# 十进制 默认输出就是10进制
print("10的10进制表示：", 10)

# python中字节数随着数字的增大而增大 是变长的这点和Java不同
# 每一次的增量是4个字节 一个字节等于8位

n1 = 0
n2 = 1
n3 = 2
n4 = 2 ** 15
n5 = 2 ** 30
n6 = 2 ** 128
# 在python中，可以通过sys.getsizeof()返回对象的大小(以字节为单位返回)
# 注意使用sys.getsizeof()需要导包 导入sys模块
print("n1 = ", sys.getsizeof(n1), "字节", "类型是", type(n1))
print("n2 = ", sys.getsizeof(n2), "字节", "类型是", type(n2))
print("n3 = ", sys.getsizeof(n3), "字节", "类型是", type(n3))
print("n4 = ", sys.getsizeof(n4), "字节", "类型是", type(n4))
print("n5 = ", sys.getsizeof(n5), "字节", "类型是", type(n5))
print("n6 = ", sys.getsizeof(n6), "字节", "类型是", type(n6))
